package cn.tedu.spring.day02;

import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HomeWork2 {
    @Test
    public void homeWork2Test()
    {
        //冬季小学期作业二
        /*这里的报错实现总体可以描述为以下几个流程:
        *若使用ByName自动注入的话 需要类中有相对应的set方法
        *在bean中的id与成员变量名不同时 在测试类中会输出person1为空
        *若使用ByType自动注入的话 容器中正常来说不能出现多个一样的类
        *在配置中存在两个同类的bean标签
        *都是Person类的对象 则自动注入会跳橙字报错
        *所以 若是通过ByType自动注入的话 只存在一个Person类标签
        *且person与person1利用修改bean的方式来使其都不为空
        *这样最后测试类的输出既不报错也不输出正确且输出都是null
        *
        */
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
        Demo1 demo1=(Demo1) applicationContext.getBean("demo1");
        System.out.println(demo1);
        ((ClassPathXmlApplicationContext)applicationContext).close();;
    }
}
